home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac: Not for Sale / Another.not.for.sale (Australia).iso / fade into you / being there / Services / Gopher / 3Dgopherspace next >
Text File  |  1994-05-01  |  36KB  |  821 lines

  1. A Preliminary Design for a 3-D Spatial
  2.  
  3. User Interface for Internet Gopher
  4.  
  5.  
  6. Mark P. McCahill
  7.  
  8. Distributed Computing Systems & Services
  9.  
  10. University of Minnesota
  11.  
  12.  
  13. Thomas Erickson
  14.  
  15. User Experience Architect’s Office
  16.  
  17. Apple Computer
  18.  
  19.  
  20.  
  21.  
  22. Introduction
  23.  
  24.  
  25. Internet Gopher is an information system used to publish and 
  26. organize information on servers distributed across the Internet. 
  27. Since its introduction in June, 1991 Gopher has become quite 
  28. popular. In December 1993, there were over 4800 gopher servers 
  29. accessible on the Internet, and well over 1.5 million items 
  30. accessible in gopherspace. By March 1994 there were 6700 gopher 
  31. servers accessible over the Internet. Gopher traffic across the 
  32. NSFnet backbone has been increasing at an average rate of 20% a 
  33. month during the last year, and Gopher’s share of the total NSFnet 
  34. traffic has increased to about 3.5%. Because Gopher is a very 
  35. distributed system, it is difficult to estimate the number of 
  36. Gopher users. However, comparing Gopher’s portion of the NSFnet 
  37. traffic to other popular protocols is a way to get a rough feel 
  38. for Gopher’s popularity. Over the NSFnet, ftp makes up around 40% 
  39. of the traffic, Netnews 10%, SMTP e-mail 6.7%, telnet 5.7%, and 
  40. Gopher 3.5%. There are now at least 4 different Macintosh Gopher 
  41. clients, 5 Windows clients, four clients for Unix/X-windows, two 
  42. Amiga clients, a VMS client, and even Gopher clients for MVS and 
  43. VM/CMS. All these clients have conceptually similar user 
  44. interfaces.
  45.  
  46.  
  47. The typical gopher client present users with a directory hierarchy 
  48. to navigate. Each gopher directory the user encounters may contain 
  49. documents, search engines and other directories. The items in the 
  50. gopher directory have both a content type associated with them and 
  51. a name to be displayed to the user. Gopher clients traditionally 
  52. display different icons for the various items and list the item 
  53. names next to the icons while while using the name of the 
  54. directory as a title of the window containing the directory. Some 
  55. clients restrict the user to viewing each successive directory in 
  56. a single window, while other clients allow for multiple windows 
  57. (each successive directory is displayed in a new window). Gopher 
  58. clients provide no representation of a Gopher Server as a whole 
  59. (such as a diagram of the hierarchy); servers are represented 
  60. simply as the root directory in a hierarchy.
  61.  
  62.  
  63. The aim of this paper is to sketch out a design for a new, 3-D 
  64. space user interface for Gopher, and to capture some of the 
  65. rationale behind the design. The design is motivated by a mix of 
  66. pragmatic and exploratory impulses. On the one hand, there are 
  67. several usage problems that would be difficult to solve within the 
  68. constraints of the current interface metaphor. And, on the other 
  69. hand, the advent of RISC-based personal computers means that there 
  70. will be sufficient power to support a whole range of new 
  71. behaviors, offering the prospect of transforming information 
  72. systems into more flexible, information-rich environments. We will 
  73. begin with a brief discussion of the motivating factors, and will 
  74. then describe the initial design; comments on the design rationale 
  75. will be inserted where appropriate.
  76.  
  77.  
  78. Problems and Prospects 
  79.  
  80.  
  81. While the current user interface is popular, there are a number of 
  82. well known usage problems:
  83.  
  84.  
  85. •    The lost-in-space problem. Users complain of feeling lost after 
  86. navigating for a while and have difficulty remembering where 
  87. they found an interesting item. In part, this due to the absence 
  88. of any global representation of the structure of information 
  89. hierarchy, and in part because the path followed by a user is 
  90. either invisible or, at best, implicitly embodied in a stack of 
  91. directory windows laid on top of one another. Users need an 
  92. overview of gopherspace, within which they can see their 
  93. locations and the paths they have followed.
  94.  
  95.  
  96. •    The grouping problem. Within a directory it is difficult to show 
  97. relationships between items represented in a linear list. Some 
  98. server administrators resort to putting items with blank names 
  99. in their directories to group clusters of items. An analog of 
  100. this problem occurs in lists of results generated by search 
  101. engines. The results are typically sorted by relevance (as 
  102. ranked by the search engine), but the user interface doesn’t 
  103. have a good way to convey their relative relevance. And, as in 
  104. directories, it is difficult to show the clustering of related 
  105. sets of documents. Ideally, both relevance to the search terms 
  106. and “closeness” to other documents (along a variety of user-
  107. specifiable dimensions) ought to be visible to the user at a 
  108. glance.
  109.  
  110.  
  111. •    The browsing problem. It is difficult to browse because 
  112. documents reflect so little of their content. All that is 
  113. available is the item’s name and the information about the 
  114. document’s type embodied in the icon.The user’s only other 
  115. option is to open the document—often a time consuming 
  116. process—and see everything in the document. Neither option is 
  117. supportive of browsing: users need to see more information about 
  118. the content of a document without there being so much that they 
  119. are unable to compare and contrast different documents. Such 
  120. document representations will be referred to as proxies.
  121.  
  122.  
  123. In addition to remedying today’s usage problems, there are a 
  124. number of intriguing prospects which a new interface could open to 
  125. exploration:
  126.  
  127.  
  128. •    Leveraging social intelligence. Users browsing a large 
  129. information space could benefit from the discoveries of previous 
  130. visitors. Indications of the popularity, utility, or quality of 
  131. particular documents, directories, or servers could be useful. 
  132. Sometimes this information could be generated automatically by 
  133. the client in response to user activity; or it might be 
  134. interesting to allow users to attach comments and critiques to 
  135. documents. Similarly, users with expertise in particular areas 
  136. might create, define, and annotate documents relevant to a 
  137. particular theme.
  138.  
  139.  
  140. •    Sense of place. Today, gopherspace is generic: any gopher 
  141. directory looks just like all the others, regardless of where it 
  142. is or what it contains. Providing a sense of place means moving 
  143. from the generic to the particular, making it possible for an 
  144. area of gopherspace to reflect something of its contents, and 
  145. something about those who construct it, maintain it, and 
  146. frequent it. The ability to provide a sense of place would have 
  147. benefits for both administrators and users. It would provide a 
  148. way for administrators to put their own personal stamp on their 
  149. segment of gopherspace. Server administrators would like to be 
  150. able to customize their areas, but, needless to say, given the 
  151. constraints of a linear list of names and icons, opportunities 
  152. for doing this are quite limited. Supporting customization by 
  153. administrators is important because many Gopher servers are 
  154. maintained by volunteers with little or no institutional support 
  155. or recognition; anything which can increase the gratification 
  156. administrators receive from their efforts will ultimately 
  157. benefit gopherspace as a whole. Users too would benefit from a 
  158. sense of place, in part because it is entwined with the ability 
  159. to leverage social intelligence. In addition, providing such 
  160. collectively generated traces enhances the sense of place, and 
  161. transforms Gopherspace from something ‘owned’ primarily by 
  162. server administrators to a more public, collectively shaped sort 
  163. of space. Given these capabilities, it is natural that some 
  164. places will evolve into navigational landmarks. 
  165.  
  166.  
  167. •    Information-rich environments that support human-human 
  168. interaction. Turning to a data space for information is often a 
  169. last resort; in many cases, people prefer to get information 
  170. from other people. In fact, sometimes people search for 
  171. documents, only as pointers to their authors. In a very real 
  172. sense, a comprehensive data space will include people, not just 
  173. documents. In a similar vein, although information access may be 
  174. engaged in just for the fun of it, it is more often the means to 
  175. some larger end. That is, people seek information because they 
  176. are trying to solve a problem, test a theory, understand a 
  177. concept, or communicate their understanding to others. In these 
  178. cases, there is little reason to segregate information access 
  179. from the other activities. The increasing computational power 
  180. and bandwidth that is now available offer the prospect of moving 
  181. from information-only spaces to information-rich environments 
  182. which can support a broad range of activities.
  183.  
  184.  
  185.  
  186. Initial Design Criteria 
  187.  
  188.  
  189. The problems and prospects we have just covered map fairly cleanly 
  190. into a few general design criteria.
  191.  
  192.  
  193. •    Richer representations for servers, directories, and documents. 
  194. The lost-in-space problem suggests the need for a high level 
  195. overview of gopherspace and landmarks. The grouping problem 
  196. indicates the need for a representation of collections of 
  197. documents that can represent their similarities and differences 
  198. along a variety of dimensions; we shall refer to such 
  199. representations as neighborhoods. Similarly, the use of proxies 
  200. — richer representations for individual documents — would 
  201. alleviate the browsing problem. 
  202.  
  203.  
  204. •    Dynamic representations. Representations need to be able to 
  205. change over time. Sense of place requires representations that 
  206. can be customized by administrators and perhaps end users, and 
  207. leveraging social intelligence requires representations able to 
  208. reflect the interaction history of individual documents and 
  209. collections of documents.
  210.  
  211.  
  212. •    Need for availability and addition of meta-information. All of 
  213. these changes to the representations of components of 
  214. Gopherspace require that meta-information about servers, 
  215. directories, and documents be made available via the Gopher 
  216. protocol. The prospects of providing a sense of place, and 
  217. leveraging social intelligence, also involve adding meta-
  218. information, but this time the meta-information is external to 
  219. gopherspace — it is applied by users, or inferred by the system 
  220. based on user interaction. Finally, meta-information will be 
  221. required to support interactions among users. 
  222.  
  223.  
  224. •    Backward compatibility. There is a final, very important, 
  225. criterion not suggested by the preceding discussion. It is 
  226. important to recognize that there is a large installed base of 
  227. Gopher servers and clients, and a community of administrators 
  228. and end users—Gopher is as much a social phenomenon as a 
  229. technology. Backward compatibility of any new client is 
  230. essential for acceptance. It will be impossible to change all of 
  231. gopherspace overnight, so any new client must handle both 
  232. servers that have stored additional information (e.g., about  
  233. relative clustering of items in document collections) and 
  234. ancient unmodified servers. This must be done without stepping 
  235. outside the new user interface metaphor. Client software that 
  236. can synthesize the spatial scene from current gopher directory 
  237. and item meta-information allows us maintain compatibility with 
  238. all of the current gopher servers. A happy side effect of this 
  239. approach is that server and network bandwidth demands are 
  240. minimized since we do not require servers to render scenes and 
  241. ship bitmaps of the scenes over the network. Backward 
  242. compatibility issues are also addressed by using the Gopher+ 
  243. protocol’s item attributes to hold meta-information. Gopher+ 
  244. item attributes provide an open-ended, extensible way of 
  245. associating arbitrary meta-information with items and 
  246. directories, and methods of accepting information sent from the 
  247. client, so the user interface we propose will not require a new 
  248. protocol.
  249.  
  250.  
  251.  
  252.  
  253. Why a 3-D spatial interface?
  254.  
  255.  
  256. First, note that 3-D space as a metaphor for information is 
  257. nothing new; it is deeply embedded in our language. Without 
  258. thinking about it, people use spatial and object-centered terms 
  259. for discussing abstract concepts. We speak of getting overviews, 
  260. seeing things from different perspectives, and grasping new ideas. 
  261. Providing a 3-D spatial interface is, in part, just providing a 
  262. concrete embodiment of language we already use.
  263.  
  264.  
  265. A 3-D spatial user interface for Gopher also allows us to address 
  266. the problems and prospects we’ve just discussed. 3-D spaces give 
  267. us more variables with which to construct the richer 
  268. representations we need. For example, relationships between 
  269. documents — either manually defined by server administrators or 
  270. automatically generated by search engines returning a set of hits 
  271. to a query — can be shown by various arrangements of document 
  272. icons in a space. 3-D spaces can also give the user a stronger 
  273. sense of place and minimize the feeling of being lost. If there 
  274. are enough provisions for server administrators to customize the 
  275. attributes of the space, a better defined sense of place will 
  276. evolve and users will treat some collections of items as landmarks 
  277. in gopherspace.Variables that server administrators can customize 
  278. should include a texture (bitmap) which is painted onto the 
  279. surface of 3-D icons and the relative position of 3-D icons. 
  280. Another very valuable property of 3-D representations is that they 
  281. implicitly include two representations: a surround view when you 
  282. are "in" the 3-D space (suitable for viewing collections of 
  283. documents), and a bird's eye view when you are "above" the 3-D 
  284. space (suitable from providing the overview). The fact that the 
  285. same conceptual model provides two different representations which 
  286. are connected in a well understood way (and, in fact, which permit 
  287. the transition from one to another to be shown) is very powerful.
  288.  
  289.  
  290. Another advantage of 3-D space is that it is familiar; people 
  291. understand a lot about space. They are familiar with navigating 
  292. space since this is something they do everyday of their lives to 
  293. get from one place to another, and to manipulate objects and 
  294. tools. Since people have little experience flying through space, 
  295. we intend to implement constrained navigation, so that the user 
  296. experience is something like driving a car. People also know that 
  297. finding things in a space is not particularly easy (thus, we may 
  298. be able to avoid raising expectations too high), and have a 
  299. learned repertoire of techniques for finding things (consulting 
  300. maps, following paths, asking a passerby) that can be embedded in 
  301. the metaphor. 
  302.  
  303.  
  304. Finally, when we are ready to put real-time IRC/talk capabilities 
  305. into gopherspace, 3-D spaces provide a natural way of supporting 
  306. interaction between people. As human beings, we understand a lot 
  307. about the social characteristics of spaces.We understand the 
  308. distinction between public and private spaces; we know that you 
  309. have to pay to enter some spaces at which time you gain temporary 
  310. rights to that space. We understand that particular activities, 
  311. people, rituals, and behaviors are associated with particular 
  312. types of spaces. We have spent out lives learning to recognize 
  313. spatial cues: what entrances look like, what a bulletin board is, 
  314. where you are likely to find a you-are-here map, and so on. All 
  315. this knowledge can be leveraged in a spatial metaphor.
  316.  
  317.  
  318. Besides, it’ll be loads of fun.
  319.  
  320. The Preliminary Design
  321.  
  322.  
  323. In this section we sketch out the preliminary design for the 
  324. interface, with some comments on the rationale for various 
  325. decisions.  It is important to emphasize that this is the starting 
  326. point, not the ending point. In general, the preliminary design is 
  327. based on a combination of analysis and intuition; at this point, 
  328. no testing or prototyping has been done, with the exception of a 
  329. few mock-ups of 3-D icons and neighborhoods generated to 
  330. facilitate discussion of how to design legible 3-D icons, and how 
  331. to support navigation among them. We take it as a certainty that 
  332. as we proceed both implementation constraints and feedback from 
  333. prospective users will shape the design in major and unforeseen 
  334. ways.
  335.  
  336.  
  337. For expository purposes we will describe the preliminary design in 
  338. terms of three levels of representation —  the overview, the 
  339. neighborhood, and the individual item. We will begin with the 
  340. neighborhood, the representation for a collection of items with 
  341. which the user is interacting. Next we will examine some details 
  342. of the 3-D icons used to represent individual items.  Finally, 
  343. we’ll look at the representations which provide the overview of a 
  344. particular server, and of gopherspace as a whole. In describing 
  345. how users might interact with these representations, we will 
  346. mostly focus on near future scenarios in which Gopherspace is 
  347. still primarily used as an information system, with occasional 
  348. allusions to farther out possibilities.
  349.  
  350.  
  351. The Neighborhood
  352.  
  353. The neighborhood is the representation of the collection of items 
  354. with which the user is interacting. Neighborhoods are either 
  355. constructed by server administrators (as a directory in the the 
  356. server’s file hierarchy) or generated by search engines in 
  357. response to a user-entered query. 
  358.  
  359.  
  360.  
  361.  
  362. Figure 1: the circular  “Stonehenge“  icon arrangement.
  363.  
  364.  
  365. The Arrangement of the Icons
  366.  
  367. We explored two representations of neighborhoods: circles and 
  368. ‘streets’. Circular arrangements of items have a number of 
  369. strengths.  First, the  user will generally have a straight on 
  370. view of the fronts of a couple of 3-D icons, which is valuable 
  371. because the fronts of these icons will generally contain details 
  372. of their content. Since the user enters the neighborhood near the 
  373. center of the circle of icons, the user is always going to be 
  374. looking at something and it is difficult to drive off into limbo. 
  375. A second useful property of a circular arrangement is that it is 
  376. easy for the user to understand: the user can quickly get an idea 
  377. of how many icons are in the neighborhood (based on the density of 
  378. icons and the radius of the circle). The circular arrangement of 
  379. icons defines an enclosed space that may be used as a collective 
  380. gathering space for users. The circular arrangement also defines a 
  381. center point, at which we will place a 3-D ‘kiosk’ icon that will 
  382. function as the user’s link back to the previous neighborhood, and 
  383. as a sort of information desk for the neighborhood. If we allow 
  384. for display of user-entered comments from the people who have 
  385. visited this directory (i.e. graffiti) this should also appear on 
  386. the kiosk. The street metaphor was investigated and rejected 
  387. because the user is either facing down the axis of the street and 
  388. has an oblique view of most of the faces of the icons, or is 
  389. facing one side of the street and is required to turn fully around 
  390. to view the next closest icon. It also may be difficult for users 
  391. to tell how long a street is, and unless the street is short, it 
  392. really has no center or natural gathering point. Finally, simple 
  393. mock-ups of streets in a 3-D modeling program resulted in 
  394. arrangements that felt very claustrophobic, since fairly large 3-D 
  395. icons were necessary for information display purposes.
  396.  
  397.  
  398. A variant of the circular arrangement of items is the spiral.We 
  399. intend to use the spiral arrangement for collections of icons 
  400. generated by search engines in response to user queries. Formally, 
  401. the spiral has a nice family resemblance to the circular 
  402. arrangement so that it too defines an enclosed area with a center 
  403. point; at the same time, its greater openness and dynamicism seems 
  404. a good reflection of the transitory nature of most queries. Also, 
  405. a spiral has directionality, and thus provides a natural ordering 
  406. within which the relevance of items to the query can be reflected.  
  407. That is, the more relevant the items, the closer they are to the 
  408. root of the query; and, more generally, a search that returns a 
  409. large number of very relevant items will have a tightly coiled 
  410. spiral, whereas one with few relevant items will have a very loose 
  411. spiral. 
  412.  
  413.  
  414.  
  415.  
  416. figure 2: results of a search arranged in spiral fashion.
  417.  
  418.  
  419.  
  420. Sound
  421.  
  422. We intend to support the use of sound as a representation for a 
  423. neighborhood. Sound is valuable because it can maintain the sense 
  424. of being in a particular place, even when the place is too big or 
  425. complex to be shown all at once. Server administrators should be 
  426. able to define a digitized sound for sound-savvy clients to play 
  427. while the user is within the directory... hopefully unobtrusive 
  428. sounds similar to some of Brian Eno’s ambient music. Sound can 
  429. play a variety of other roles. It may be used to reflect activity 
  430. of other users in the same or nearby neighborhoods. Variations in 
  431. its timbre could be used to give hints as to the size of the 
  432. neighborhood. Sounds could also be used as part of the proxy of an 
  433. item, perhaps brought into play when a user comes near the icon: a 
  434. directory’s proxy might use sound to give a hint of what the new 
  435. neighborhood is like before the user enters it; a document’s proxy 
  436. might use whispered text-to-speech to provide more detail about a 
  437. document’s content.To make sound a common part of all 3-D space 
  438. will require synthesizing sounds for gopher servers that do not 
  439. provide a server-defined sound. Having the client software 
  440. generate an ambient wind sound attenuated by the number (and type) 
  441. of objects in the scene is probably the best approach creating 
  442. sounds for servers that do not have their own. By making the 
  443. attenuation of the ambient wind sound depend on the objects in the 
  444. local space we can get automatically create variation in tone and 
  445. timbre.
  446.  
  447.  
  448. Wear
  449.  
  450. If usage information is available from the server, footprints (or 
  451. some sort of dirt on the ground) can be used to show which of the 
  452. items in the neighborhood are the most popular.This is like the 
  453. worn marks on subway platforms in New York. You can predict where 
  454. the doors of the subway train will be when it stops by looking at 
  455. the worn spots on the platform. The same sort of cue can be used 
  456. in a neighborhood to show users who want to follow the beaten 
  457. path, where that path lies.
  458.  
  459.  
  460.  
  461. The 3-D Icons
  462.  
  463. 3-D icons vary along four dimensions: their form, their color, 
  464. their texture, and the information about their content displayed 
  465. on their fronts (this information is called a proxy). The basic 
  466. form of a 3-D icon is a rectangular box with a top that represents 
  467. the type of the object. Box-like icons are attractive since they 
  468. keep the scene rendering requirements to a minimum by keeping the 
  469. number of polygons down and simplifying hidden surface removal. 
  470. Box-like objects also provide plenty of space to map textures, 
  471. draw items names and other information, and can look vaguely like 
  472. buildings people encounter in life.
  473.  
  474.  
  475. The Forms of 3-D Icons
  476.  
  477. The general form of the icon indicates the type of object it 
  478. represents: the constraints on the icons’ forms are that the 
  479. icon’s type should be recognizable from any direction (and ideally 
  480. from a distance), that most icons have a large, flat surface area 
  481. on which its proxy may be displayed, and that the form be 
  482. relatively simple so that large directories displayed by clients 
  483. on low-end machines not take excessively long to render.  Figures 
  484. 3 through 8 show initial passes on the forms for types of icons 
  485. thus far envisioned.
  486.  
  487.  
  488.           
  489.  
  490. Figure 3:Document icon.    Figure 4. Neighborhood icon    Figure 
  491. 5.Search engine icon
  492.  
  493.  
  494.         
  495.  
  496. Figure 6:interactive session icon    Figure 7: Person 
  497. icon    Figure 8. Kiosk icon    
  498.  
  499.  
  500.  
  501.  
  502. Color of 3-D Icons
  503.  
  504. At the moment our intent is to use color as redundant information, 
  505. to indicate the type of the icon. The advantage of this is that it 
  506. will allow types to be distinguished in overviews.
  507.  
  508.  
  509. Dynamic Proxies
  510.  
  511. The face of the 3-D icon is divided into areas used for the name 
  512. of the item and the proxy. The title of the item is written across 
  513. the top: on document icons there is a ridge wrapped around the 
  514. icon about 80% of the way up the icon where the title is written; 
  515. other icons have the title in the same location but without the 
  516. ridge. Below the title is where the proxy is displayed. The proxy 
  517. reflects something of the content of the object represented for 
  518. the icon: for a picture, it might contain a thumb-nail sketch; for 
  519. a text document it might contain key words; for a new 
  520. neighborhood, it might contain an indication of the neighborhood’s 
  521. size. On a layer underneath the proxy, and over all the rest of 
  522. the 3-D icon, a server-defined texture map is displayed
  523.  
  524.  
  525. As the user approaches a 3-D icon, the amount of information 
  526. displayed on the icon changes since there is more screen real 
  527. estate to use for display and the user is presumably more 
  528. interested in the item. From a long distance, only the general 
  529. outline and color of the icon is readily discernible. At middle 
  530. distance the texture map and name of the icon are visible. At 
  531. close range, some proxies for the information within the icon 
  532. become visible. What the proxies are will vary depending on the 
  533. type of object. Directory icons may show a rough rendering of the 
  534. content of the directory (i.e. the number and arrangement of the 
  535. icons contained in that directory). Document proxies are probably 
  536. the first part of the document or a diskette icon to show that the 
  537. contents is a binary file. The document proxy referring to a 
  538. Quicktime video might contain the poster view of the video, while 
  539. a sound proxy might by an ear icon (or perhaps the sound plays at 
  540. low volume?) When the user puts the mouse pointer over an item it 
  541. may also develop a door or door knocker. Double clicking opens the 
  542. item. Opening a document could result in a new window being 
  543. displayed on the screen with the document contents inside. 
  544. Alternatively the content of the 3-D icon for a document could be 
  545. displayed on its face. Opening a directory results in a transition 
  546. to a new directory (see the transition between directories section 
  547. below
  548.  
  549.  
  550.  
  551. Representing Overviews of Gopherspace
  552.  
  553. We have not yet completely resolved how to represent overviews of 
  554. sections of gopherspace larger than a neighborhood so the design 
  555. in this section is very preliminary. However, such overviews are a 
  556. valuable addition to the user interface; there are two sorts of 
  557. overviews that users would like to have while navigating 
  558. gopherspace. First, a map of items on the current server or items 
  559. within a few hops of the current neighborhood (i.e. a regional 
  560. overview) is appealing since this would help users understand what 
  561. sort of neighborhood they are inside. This sort of local overview 
  562. would also be useful as a proxy to be displayed for the 
  563. neighborhood.
  564.  
  565.  
  566. The other sort of overview that users would like is map of large 
  567. portions (or  all) of gopherspace.
  568.  
  569. Because Gopher is a distributed system without a compulsory server 
  570. registration, there is no global list of all servers in 
  571. gopherspace. In fact, maintaining such a list is a daunting 
  572. prospect given the growth in number of gopher servers (3400 in 
  573. September 1993, 4800 in December 1993, 6700 in March 1994). 
  574. However, a map of the neighborhoods that the user has visited is 
  575. feasible since the Gopher client software can build the map 
  576. dynamically as the user explores new neighborhoods. Alternatively, 
  577. some users may wish to download maps of Gopherspace, or portions 
  578. thereof, from a global map server.
  579.  
  580.  
  581.  
  582. Representing a Neighborhood’s region
  583.  
  584. To represent a region, the client software explores the in 
  585. vicinity of the current neighborhood by opening Gopher 
  586. neighborhoods connected to the current neighborhood to some 
  587. predefined depth (perhaps 3 hops). Once the client software has 
  588. queried Gopher servers to build up an internal list of 
  589. neighborhood contents in the region, an overview can be displayed 
  590. to the user. 
  591.  
  592.  
  593. One possibility for representation of the region around a 
  594. neighborhood is to use PARC cone trees. 
  595.  
  596. Another possibility is to use 2-D projections of gopher hierarchy; 
  597. the circular “Stonehenge” neighborhood have a nice, legible 
  598. circular projection as do the spiral neighborhoods which result 
  599. from queries. Such an overview could look like figure 9.
  600.  
  601.  
  602.  
  603.  
  604. Figure 9: 2-d projected Overview
  605.  
  606.  
  607.  
  608. Representing large parts of Gopherspace
  609.  
  610. While 2-d projections of neighborhoods can be generated for a 
  611. static region, representing a dynamically growing space using a 
  612. Euclidian plane is problematic if users expect the neighborhood to 
  613. stay in the same location and relative spatial relation to each 
  614. other. The problem is that the layout of the overview changes and 
  615. grows as the user explores gopherspace, and there may not be room 
  616. to display a new neighborhood without moving the projections of 
  617. neighborhoods already displayed (figure 10). 
  618.  
  619.  
  620.                         
  621.   
  622.  
  623. Figure 10: Before and after exploring reference to neighborhood D
  624.  
  625.  
  626. To avoid this problem, either a non-Euclidean space or a different 
  627. approach used (such as PARC cone trees). A non-Euclidean space 
  628. would be something like a rubber sheet with neighborhoods acting 
  629. like rocks on the sheet. The sheet would be stretched as new 
  630. neighborhoods were added close to existing neighborhoods; how 
  631. successful such a metaphor would be with users is open to 
  632. conjecture.
  633.  
  634.  
  635.  
  636. Navigating Gopherspace
  637.  
  638.  
  639. Navigating within a neighborhood
  640.  
  641. Most people are familiar with navigating 3-D spaces since this is 
  642. something they do everyday of their lives to get from one place to 
  643. another. On the other hand, most people have little experience 
  644. flying through space, so by limiting the number of options the 
  645. user has for flying into limbo, we can make the user experience 
  646. similar to some of the better arcade style games (like Spectre). 
  647. By limiting the user’s navigational controls to forward and back 
  648. turn left, turn right we can make it easy to learn how to use the 
  649. interface. By limiting the height of the 3-D icons, we can ensure 
  650. that the icon’s proxy will usually fit within the user’s field of 
  651. view, and thus we needn’t worry about providing ways to look up or 
  652. down, or left or right.
  653.  
  654.  
  655.  
  656. Transition between neighborhoods
  657.  
  658. When the user double-clicks on a 3-D icon representing another 
  659. neighborhood, a bit of user interface sugar should be used to make 
  660. it clear to the user they are traveling somewhere else... a rough 
  661. equivalent of the zoomrect transition used on the Macintosh when 
  662. an icon is opened. This is applied to directories, to search 
  663. engines, and when the user double clicks on the central kiosk of a 
  664. directory. If we handle this properly, it can also give the user 
  665. something to look at while the client software sets up and renders 
  666. the next neighborhood the user will view.
  667.  
  668.  
  669. For the neighborhood-to-neighborhood transition, the user 
  670. automatically is sent on an trajectory leading them out of the 
  671. current neighborhood and into the new neighborhood (show in figure 
  672. 11).
  673.  
  674. The trajectory starts with the user flying into the 3-D icon 
  675. representing the neighborhood, then ‘flying’ over a grid. Flying 
  676. here is flying in the sense of riding in an airplane as opposed to 
  677. actively piloting a plane.
  678.  
  679.  
  680.  
  681.  
  682.  
  683. figure 11: trajectory between directories
  684.  
  685.  
  686. The amount of time spent in flight depends on how long the 
  687. software needs to fetch the information from the appropriate 
  688. gopher server and render the next neighborhood. Once the next 
  689. neighborhood is ready to be displayed to the user the flight over 
  690. the grid ends with an approach over (and then down into) the new 
  691. neighborhood. The user can get an idea of the general layout of 
  692. the neighborhood during the approach and landing.
  693.  
  694.  
  695. The idea behind this trajectory is to give the user an increasing 
  696. sensation of motion as they leave the immediate vicinity of the 
  697. neighborhood they were in (take-off in a plane rising up from the 
  698. current neighborhood), followed by a few seconds of apparent high-
  699. speed travel travel over an anonymous looking grid, culminating 
  700. with a slow approach to the new neighborhood. It is important that 
  701. the approach to the new neighborhood allows the user see the 
  702. general arrangement of the neighborhood. To make this visible, the 
  703. user’s trajectory is one of swooping down from above (like a plane 
  704. landing). The user is deposited near the central kiosk facing so 
  705. that both a part of the kiosk and some of the items in the 
  706. neighborhood are visible (figure 12).
  707.  
  708.  
  709.  
  710.  
  711. figure 12: initial view on entering a new directory
  712.  
  713.  
  714.  
  715. Next Steps
  716.  
  717.  
  718. By default, the Gopher client generates the geometry and layout of 
  719. the neighborhood within the user’s computer, but it is important 
  720. to allow server administrators some control over how clients 
  721. display the neighborhood. The sorts of controls a server 
  722. administrator could have are: layout within the neighborhood, 
  723. sound, textures mapped onto icons, wear (usage information), and 
  724. icon geometry. For an initial implementation, we plan to allow 
  725. server administrators to define texture attributes for Gopher 
  726. items (as a Gopher+ item attribute). Textures (bitmaps) are easy 
  727. to generate and carry a lot of information; most server 
  728. administrators do not have 3-D geometry design tools. Eventually 
  729. we would like to allow mapping Quicktime or MPEG video onto the 
  730. icons for a real Las Vegas-style user experience.
  731.  
  732.  
  733. Eventually the intention is to allow server administrators to 
  734. design their own 3-D icons by defining the icon geometry for the 
  735. client, but there are serious potential problems with ornate 
  736. designs that take to much processing power to render in an 
  737. acceptable time. Once server administrators can create their own 
  738. icons, clients must take steps to protect themselves from badly 
  739. designed icons. Since the client has no assurance the server 
  740. administrator has done consistency checking, the clients would 
  741. have to employ local zoning restrictions by refusing to render 
  742. icons with excessive numbers of polygons (or non-convex polyhedra, 
  743. or other items beyond the limits of the client’s 3-D rendering 
  744. engine). 
  745.  
  746.  
  747. Another issue that arises once server administrators can design 
  748. their own icons is maintaining some sort of consistency for the 
  749. user so that they are not confronted with neighborhoods where 
  750. everything they know is wrong. When server administrators can 
  751. design their own 3-D icons, we will strongly advocate that the 
  752. tops of the icons remain the same throughout gopherspace. This 
  753. will allow users to assume that if the icon has a slanted top, is 
  754. is a search engine. Also, the basic box shape will probably be 
  755. strongly mandated since clients software expects to be able to map 
  756. textures and names onto the surface of the icons.
  757.  
  758.  
  759. Rather than try to implement customized icons initially, we think 
  760. it is much more valuable to implement sound playback in the 
  761. clients. Again, like textures, there are a variety of tool for 
  762. creating and manipulating sound and it is easy for a server 
  763. administrator to associate a Gopher+ item attribute containing a 
  764. reference to a sound with an item or a neighborhood.
  765.  
  766.  
  767. Textures and sounds are very high priorities for implementation, 
  768. but once these have been implemented, it makes sense to allow the 
  769. server administrator some control over the layout of the icons in 
  770. the neighborhood. This again requires clients to employ their own 
  771. local zoning ordinances to check the reasonableness of the layout 
  772. (disallowing overlapping polyhedra, for instance). The server 
  773. administrator would define relative locations of items within the 
  774. neighborhood as a Gopher+ item attribute.
  775.  
  776.  
  777.  
  778. Conclusions
  779.  
  780.  
  781. As this is a report of work in progress, we have no real 
  782. conclusions, as yet.
  783.  
  784.  
  785. It is worth noting that even in these earliest stages of design, 
  786. we have had to deal with issues that lie outside the realm of the 
  787. disciplines traditionally involved in interface design.  What 
  788. forms should 3-D icons have so that they are both simple and yet 
  789. recognizable from many directions.  What types of spatial layouts 
  790. can help people remain oriented in a large space?  What sort of 
  791. layouts are legible both from the inside and from far away?  How 
  792. rapidly should a transition into a new spatial layout occur, so 
  793. that the user can take in enough information to be oriented, but 
  794. avoid boredom?  
  795.  
  796.  
  797.  
  798. Acknowledgements
  799.  
  800.  
  801. This paper is based on dreams and discussions that have been going 
  802. on within part of the Gopher software development team (Paul 
  803. Lindner, Farhad Anklesaria, David Johnson, Neophytos Iacovou) at 
  804. the University of Minnesota over the last two years. We have also 
  805. learned from the work on YORB, carried out by Dan O’Sullivan and 
  806. his colleagues in the New York University School of Interactive 
  807. Telecommunications.
  808.  
  809.  
  810.  
  811. References
  812.  
  813.  
  814. Bush, V.  As We May Think. 
  815.  
  816.  
  817. Hill, et al. & Wroblewski, et. al. on soft-wear.
  818.  
  819.  
  820.  
  821.